package com.asset.dispoal.caseType.service;

import com.asset.dispoal.caseType.api.BsCaseTypeService;
import com.asset.dispoal.caseType.dto.BsCaseTypeRequest;
import com.asset.dispoal.caseType.dto.BsCaseTypeResponse;
import com.asset.dispoal.caseType.service.commom.BsCaseTypeDeleteCommand;
import com.asset.dispoal.caseType.service.commom.BsCaseTypeInsertCommand;
import com.asset.dispoal.caseType.service.commom.BsCaseTypeQueryCommand;
import com.asset.dispoal.caseType.service.commom.BsCaseTypeUpdateCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tech.mhuang.pacebox.springboot.protocol.Result;
import tech.mhuang.pacebox.springboot.protocol.data.PageVO;

/**
 * 案件类型表服务实现类
 *
 * @author: mhuang
 * @date: 2022-03-10 15:17:55
 */
@Service
public class BsCaseTypeServiceImpl implements BsCaseTypeService {

    @Autowired
    BsCaseTypeQueryCommand bsCaseTypeQueryCommand;

    @Autowired
    BsCaseTypeUpdateCommand bsCaseTypeUpdateCommand;

    @Autowired
    BsCaseTypeDeleteCommand bsCaseTypeDeleteCommand;

    @Autowired
    BsCaseTypeInsertCommand bsCaseTypeInsertCommand;


    @Override
    public Result insert(BsCaseTypeRequest bsCaseTypeRequest) {
        return bsCaseTypeInsertCommand.execute(bsCaseTypeRequest);
    }

    @Override
    public Result update(BsCaseTypeRequest bsCaseTypeRequest) {
        return bsCaseTypeUpdateCommand.execute(bsCaseTypeRequest);
    }

    @Override
    public Result<PageVO<BsCaseTypeResponse>> queryPage(BsCaseTypeRequest bsCaseTypeRequest) {
        final Result<PageVO<BsCaseTypeResponse>> execute = bsCaseTypeQueryCommand.execute(bsCaseTypeRequest);
        return execute;
    }

    @Override
    public void delete(String id) {
        bsCaseTypeDeleteCommand.execute(id);
    }
}